using System;

namespace ControlCenter.Model
{
    /// <summary>
    /// 应用包信息【实体类】
    /// </summary>
    public class ProjectPackageInfo
    {
        /// <summary>
        /// 应用包ID
        /// </summary>
        public Guid PackageId { get; set; }
        
        /// <summary>
        /// 应用包名称
        /// </summary>
        public string ProjectName { get; set; }
    
        /// <summary>
        /// 版本号
        /// </summary>
        public string Version { get; set; }

        /// <summary>
        /// 下载路径
        /// </summary>
        public string DownloadUrl { get; set; }

        /// <summary>
        /// 更新时间
        /// </summary>
        public DateTime? UpdateTime { get; set; }

        /// <summary>
        /// 是否已配置参数
        /// </summary>
        public bool IsCompleteConfig { get; set; }
    }

    /// <summary>
    /// 应用包参数配置
    /// </summary>
    public class PackageConfigItem
    {
        /// <summary>
        /// 配置ID
        /// </summary>
        public Guid PackageConfigId { get; set; }
        /// <summary>
        /// 应用ID
        /// </summary>
        public Guid PackageId { get; set; }
        /// <summary>
        /// 配置项
        /// </summary>
        public string Name { get; set; }
        /// <summary>
        /// 配置项类型
        /// </summary>
        public string Type { get; set; }
        /// <summary>
        /// 默认值
        /// </summary>
        public string DefaultValue { get; set; }
        /// <summary>
        /// 值
        /// </summary>
        public string Value { get; set; }
        /// <summary>
        /// 配置描述
        /// </summary>
        public string Remark { get; set; }
        /// <summary>
        /// 序号
        /// </summary>
        public int Sequence { get; set; }
        /// <summary>
        /// 是否必填项
        /// </summary>
        public bool IsRequired { get; set; }
        /// <summary>
        /// 是否系统项（系统项不允许删除，用户添加的可以删除）
        /// </summary>
        public bool IsSystem { get; set; }
    }
}
